|
![](/i/fill.gif) |
Hi,
You can "fake" iteration/recursion as in the following code (fix the line
wraps). Best implemented with a scripting language to implement the include
file.
Bye,
Hans Mikelson
mandelbrot.inc
#declare mandloop18 = function(x,y,z,zr,zi) {18};
#declare mandloop17 = function(x,y,z,zr,zi)
{select(zr*zr-zi*zi+2*zr*zi-4,mandloop18(x,y,z,zr*zr-zi*zi+x,2*zr*zi+z),17)}
;
#declare mandloop16 = function(x,y,z,zr,zi)
{select(zr*zr-zi*zi+2*zr*zi-4,mandloop17(x,y,z,zr*zr-zi*zi+x,2*zr*zi+z),16)}
;
#declare mandloop15 = function(x,y,z,zr,zi)
{select(zr*zr-zi*zi+2*zr*zi-4,mandloop16(x,y,z,zr*zr-zi*zi+x,2*zr*zi+z),15)}
;
#declare mandloop14 = function(x,y,z,zr,zi)
{select(zr*zr-zi*zi+2*zr*zi-4,mandloop15(x,y,z,zr*zr-zi*zi+x,2*zr*zi+z),14)}
;
#declare mandloop13 = function(x,y,z,zr,zi)
{select(zr*zr-zi*zi+2*zr*zi-4,mandloop14(x,y,z,zr*zr-zi*zi+x,2*zr*zi+z),13)}
;
#declare mandloop12 = function(x,y,z,zr,zi)
{select(zr*zr-zi*zi+2*zr*zi-4,mandloop13(x,y,z,zr*zr-zi*zi+x,2*zr*zi+z),12)}
;
#declare mandloop11 = function(x,y,z,zr,zi)
{select(zr*zr-zi*zi+2*zr*zi-4,mandloop12(x,y,z,zr*zr-zi*zi+x,2*zr*zi+z),11)}
;
#declare mandloop10 = function(x,y,z,zr,zi)
{select(zr*zr-zi*zi+2*zr*zi-4,mandloop11(x,y,z,zr*zr-zi*zi+x,2*zr*zi+z),10)}
;
#declare mandloop09 = function(x,y,z,zr,zi)
{select(zr*zr-zi*zi+2*zr*zi-4,mandloop10(x,y,z,zr*zr-zi*zi+x,2*zr*zi+z),9)};
#declare mandloop08 = function(x,y,z,zr,zi)
{select(zr*zr-zi*zi+2*zr*zi-4,mandloop09(x,y,z,zr*zr-zi*zi+x,2*zr*zi+z),8)};
#declare mandloop07 = function(x,y,z,zr,zi)
{select(zr*zr-zi*zi+2*zr*zi-4,mandloop08(x,y,z,zr*zr-zi*zi+x,2*zr*zi+z),7)};
#declare mandloop06 = function(x,y,z,zr,zi)
{select(zr*zr-zi*zi+2*zr*zi-4,mandloop07(x,y,z,zr*zr-zi*zi+x,2*zr*zi+z),6)};
#declare mandloop05 = function(x,y,z,zr,zi)
{select(zr*zr-zi*zi+2*zr*zi-4,mandloop06(x,y,z,zr*zr-zi*zi+x,2*zr*zi+z),5)};
#declare mandloop04 = function(x,y,z,zr,zi)
{select(zr*zr-zi*zi+2*zr*zi-4,mandloop05(x,y,z,zr*zr-zi*zi+x,2*zr*zi+z),4)};
#declare mandloop03 = function(x,y,z,zr,zi)
{select(zr*zr-zi*zi+2*zr*zi-4,mandloop04(x,y,z,zr*zr-zi*zi+x,2*zr*zi+z),3)};
#declare mandloop02 = function(x,y,z,zr,zi)
{select(zr*zr-zi*zi+2*zr*zi-4,mandloop03(x,y,z,zr*zr-zi*zi+x,2*zr*zi+z),2)};
#declare mandloop01 = function(x,y,z,zr,zi)
{select(zr*zr-zi*zi+2*zr*zi-4,mandloop02(x,y,z,zr*zr-zi*zi+x,2*zr*zi+z),1)};
#declare mandloop00 = function(x,y,z,zr,zi)
{select(zr*zr-zi*zi+2*zr*zi-4,mandloop01(x,y,z,zr*zr-zi*zi+x,2*zr*zi+z),0)};
#declare mandlbrot = function {mandloop00(x,y,z,0,0)*.05};
#declare T_Mandel =
texture {
pigment {
function {mandlbrot(x,y,z) }
//turbulence .1
//octaves 5
//omega 1.1
//lambda 2.0
color_map {
[0.00 color rgbt<.10, .00, .00, .0>]
[0.40 color rgbt<.80, .40, .00, .0>]
[0.50 color rgbt<.40, .00, .00, .0>]
[0.60 color rgbt<.80, .40, .00, .0>]
[1.00 color rgbt<.10, .00, .00, .0>]
}
}
finish {
ambient 1.0
diffuse 0.0
}
}
#include "mandelbrot.inc"
camera {location <0,4,0> look_at <0,0,0>}
global_settings { ambient_light rgb 1}
background { color rgb <0,0,0> }
plane { y, -1 hollow on texture {T_Mandel scale 1}}
Post a reply to this message
|
![](/i/fill.gif) |